The accurate recording or analysis of any movement requires, first and foremost, that the movement be accurately sensed. This was the basis for early navigational tools such as the magnetic compass and the astrolabe, and it remains true today. Moreover, while tools such as the compass and astrolabe require external sources of reference to determine motion, it is sometimes necessary to determine motion internally, i.e., via inertial measurements alone.
Early inertial measurement systems required that the sensing elements be isolated from the surrounding environment via complex and troublesome gimbaled or fluid-suspended gyro-stabilized platforms. However, advances in electronics and micro devices have facilitated a variety of inertial sensor system known as a strap-down system (sometimes referred to as a Strap-Down Integration system or Strap-Down Inertial system, both abbreviated “SDI”).
A typical SDI system contains two primary components, namely an inertial measurement unit (IMU) and an application processor (AP). A typical architecture 100 based on these components is shown in FIG. 1. The illustrated system 100 contains the IMU 102 and the AP 104 with a number of sub-elements within the IMU 102. These include an analog section 106 having a number of gyroscopic sensors 108 and acceleration sensors 110 (accelerometers) providing input to an analog-to-digital converter 112 (ADC). The ADC 112 periodically samples the sensors 108, 110 and digitizes their values for calibration adjustment through a calibration module 114. Calibration may be based on environmental factors, such as a temperature value from temperature sensor 115, or otherwise. Finally, within the IMU 102, the digitized and calibrated values are provided to the SDI unit 116 for integration.
In order to prevent aliasing, coning and sculling, which may be caused by vibration or shocks, the sampling frequency at the analog side of the ADC 112 must typically be high. Thus, in most state-of-the-art IMUs, the analog sensing elements are sampled at a rate of a few kHz, e.g., 2-4 kHz, with multiple samples being used to create each frame at a frame rate of 200-400 Hz. In particular, the SDI unit 116 may combine a number of samples to determine the increment in the angle and velocity (Δq and Δv respectively). The processed values are then transmitted over a link 118 to the AP 104.
However, transmitting this data to the AP 104 via the link 118 requires the link 118 to have a very high bandwidth. Moreover, the actual update rate required by an application using the data may be lower. For example, a frame update rate of 24 Hz may be sufficient if the output is streamed to screen and a frame update rate as low as 1 Hz may be sufficient for pedestrian navigation guidance applications.
Where the sample rate is implemented in hardware, the SDI rate is defined by the number of integrated samples and the update rate by the number of SDI frames. In most devices, the SDI rate is the same as the update rate. On professional grade IMUs there are typically no buffers implemented since the AP using such devices should always have the time or be configured to handle the data and/or buffers are implemented sufficiently on the receive side, e.g. by implementing the communication using direct memory access (DMA) in which data points are stored in memory without involving the AP.
For consumer grade mobile devices, power consumption is a significant concern, and so power management is typically achieved by lowering the update rate of the IMU and switching the processor to a low-power or sleep-mode, to occasionally ‘wake-up’ and handle data from the sensors. As such digital IMUs integrated in mobile devices often use an on-board FIFO memory structure to store their data and have it ready for the processor to fetch it in a single burst.
However, the described current state-of-the-art architecture for mobile devices using consumer grade IMUs exhibits two substantial problems, namely excessively low update rate and buffer overflow. With respect to the update rate, to preserve power, typically the update rate at the mobile device will be as low as possible. This also might be implemented in hardware by limiting the bandwidth (i.e. lowering the clock) of the communication line, thereby effectively making it impossible to send data at higher update rates. With respect to buffer overflow when strap down integration is implemented, the buffer of the IMU may overflow when the AP is too busy to read out the buffer or when the bus is too full with other communication.
The present disclosure is directed to a system and method for addressing some or all of the above difficulties; however, it should be appreciated that the solution of any particular problem is not a limitation on the scope of this disclosure or of the attached claims, except to the extent expressly noted. Additionally, this background section discusses problems and solutions noted by the inventors; the inclusion of any problem or solution in this section is not an indication that the problem or solution represents known prior art except as otherwise expressly noted. With respect to prior art that is expressly noted as such, the summary thereof is not intended to alter or supplement the prior art document itself; any discrepancy or difference should be resolved by reference to the prior art.